@echo off
chcp 65001 >nul
cls
color 0B

echo.
echo ════════════════════════════════════════════
echo   获取系统当前位置
echo ════════════════════════════════════════════
echo.

echo 检测设备...
adb devices | findstr "device$"
echo.

echo 请选择设备：
echo   1. 4f6c2e31 (真机)
echo   2. emulator-5554 (模拟器)
echo   3. 默认设备
echo.

set /p choice=输入选项 (1/2/3): 

if "%choice%"=="1" (
    set DEVICE=-s 4f6c2e31
    echo 已选择：真机
) else if "%choice%"=="2" (
    set DEVICE=-s emulator-5554
    echo 已选择：模拟器
) else (
    set DEVICE=
    echo 已选择：默认设备
)

echo.
echo ════════════════════════════════════════════
echo  方法 1: 使用系统位置服务
echo ════════════════════════════════════════════
echo.

echo [1] 检查位置服务状态...
adb %DEVICE% shell settings get secure location_providers_allowed
echo.

echo [2] 获取最后已知位置...
adb %DEVICE% shell dumpsys location | findstr "last\|Location\|latitude\|longitude"
echo.

pause

echo.
echo ════════════════════════════════════════════
echo  方法 2: 使用我们的应用获取
echo ════════════════════════════════════════════
echo.

echo [1] 检查应用是否运行...
adb %DEVICE% shell ps | findstr munidingwei
if errorlevel 1 (
    echo.
    echo ⚠️ 应用未运行，正在启动...
    adb %DEVICE% shell am start -n com.example.munidingwei/.MainActivity
    timeout /t 2 >nul
) else (
    echo ✅ 应用正在运行
)
echo.

echo [2] 触发位置获取...
echo.
echo 📱 请在手机上点击"获取位置"按钮
echo.
echo 监控日志中...
echo.

adb %DEVICE% logcat -c
timeout /t 2 >nul

start "位置日志" cmd /k "color 0E && echo 📍 实时位置日志 && echo ════════════════════════════════════════════ && adb %DEVICE% logcat LocationService:D *:S | findstr /C:latitude /C:longitude /C:定位成功 /C:位置"

timeout /t 3 >nul

echo 按任意键查看完整日志...
pause >nul

adb %DEVICE% logcat -d -s LocationService:D | findstr "纬度\|经度\|latitude\|longitude\|定位\|位置"

pause

echo.
echo ════════════════════════════════════════════
echo  方法 3: 使用网络定位API
echo ════════════════════════════════════════════
echo.

echo [1] 获取WiFi信息...
adb %DEVICE% shell dumpsys wifi | findstr "SSID\|BSSID"
echo.

echo [2] 获取基站信息...
adb %DEVICE% shell dumpsys telephony.registry | findstr "CellLocation\|mCellLocation"
echo.

pause

echo.
echo ════════════════════════════════════════════
echo  方法 4: 查看Google位置服务
echo ════════════════════════════════════════════
echo.

adb %DEVICE% shell dumpsys location | findstr "FusedLocation\|gps\|network"
echo.

pause

echo.
echo ════════════════════════════════════════════
echo  总结
echo ════════════════════════════════════════════
echo.
echo 💡 推荐方法：
echo.
echo   在应用中点击"获取位置"按钮
echo   → 显示真实的GPS位置
echo   → 即使在模拟中也能获取真实位置
echo.
echo 📍 位置类型：
echo   • GPS: 卫星定位（最精确）
echo   • Network: 网络定位（WiFi/基站）
echo   • Fused: 融合定位（Google服务）
echo.
echo ════════════════════════════════════════════
echo.

pause

